/*
 * 文件名：NetWorkUtil.java	 
 * 时     间：下午7:15:44
 * 作     者：lyf       
 * 版     权： 2012-2022 湖南智软网络科技, 公司保留所有权利.
 * 联     系：http://www.073586.com/
 */
package com.local.util;

import java.io.IOException;
import java.net.InetAddress;
import java.net.Socket;
import java.net.SocketException;

import com.cz073586.tools.util.Tools;

/**
 * 类描述:网络检查工具
 * 
 * @ClassName: NetWorkUtil
 * @author Administrator
 * @date 2015年10月25日 下午7:15:44
 */
public class NetWorkUtil
{
	
	/**
	 * @throws IOException
	 * @throws SocketException
	 * 
	 *             方法描述： 检查网络是否畅通
	 * @Title: canConnection
	 * @param @param host
	 * @param @param port
	 * @param @param timeOut
	 * @param @return
	 * @return boolean
	 * @user lyf 2015年10月25日
	 * @throws
	 */
	public static boolean canConnection(String host, int port, int timeOut)
			throws IOException
	{
		Socket socket = null;
		try
		{
			socket = new Socket(host, port);
			return true;
		} catch (Exception e)
		{
			return false;
		} finally
		{
			if (!Tools.isEmpty(socket))
			{
				socket.setReuseAddress(true);
				socket.setSoLinger(true, 0);
				socket.close();
			}
		}
	}
	
	public static boolean checkHost(String host, int timeOut)
	{
		try
		{
			if (timeOut < 5000)
			{
				timeOut = 5000;
			}
			InetAddress internater = InetAddress.getByName(host);
			internater.isReachable(timeOut);
		} catch (Throwable e)
		{
			return false;
		}
		return false;
	}
}
